package miniBanco.Mapper;

import java.sql.ResultSet;
import java.sql.SQLException;

import basics.MySqlHelper;
import miniBanco.Core.TipoCuenta;

public class TipoCuentaDao {
	MySqlHelper mySqlHelper;
	private static final String TAG = TipoCuentaDao.class.getSimpleName();
	public static final String COLUMNS = "tipoCuenta, descripcion ";	
	
	TipoCuentaDao()
	{
		mySqlHelper = MySqlHelper.getInstance();
	}
	private StringBuilder findStatement() {
		StringBuilder sb = new StringBuilder();
		sb.append("SELECT "+COLUMNS+
				" FROM "+ getTableName()+
				" WHERE tipoCuenta = %d ");
		return sb;
	}

	private TipoCuenta doLoad(ResultSet rs) throws SQLException {
		return TipoCuenta.fromValue(rs.getInt(1));
	}
	protected TipoCuenta getByTipoCuenta(int tipoCuenta) throws SQLException {
		String sql = findStatement().toString();
		ResultSet rs = mySqlHelper.ExecuteQuery(String.format(sql, tipoCuenta), TAG);
		rs.next();
		return doLoad(rs);
	}

	protected String getTableName() {
		return "TipoCuenta";
	}

}
